home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.3 Development Libraries / SGI IRIX 6.3 Development Libraries.iso / dist / dist6.3 / ViewKit_dev.idb / usr / include / Vk / VkMsgComponent.h.z / VkMsgComponent.h
C/C++ Source or Header  |  1996-09-20  |  2KB  |  55 lines

  1. #ifndef VK_MSG_COMPONENT
  2. #define VK_MSG_COMPONENT
  3.  
  4. #include <Vk/VkComponent.h>
  5. #include <Vk/VkMsgClient.h>
  6.  
  7. class VkMsgComponent : public VkComponent {
  8. public:
  9.   VkMsgComponent(const char *name);
  10.   ~VkMsgComponent();
  11.  
  12.   virtual void show();
  13.  
  14.   VkMsgClient *messageClient() { return client; }
  15.  
  16.   void updatePatterns() { client->updatePatterns(); }
  17.  
  18.   VkMsgPattern addAction(char *name, VkMsgClientAction proc, void *client_data,
  19.              VkMsgActionType type, Boolean deleteMessage = True)
  20.     { return client->addAction(name, proc, client_data, type, deleteMessage); }
  21.   VkMsgPattern createAction(char *name, VkMsgClientAction proc,
  22.                 void *client_data, VkMsgActionType type,
  23.                 Boolean deleteMessage = True)
  24.     { return client->createAction(name, proc, client_data, type,
  25.                   deleteMessage); }
  26.   void removeAction(VkMsgPattern pat)
  27.     { client->removeAction(pat); }
  28.   void addTranslation(char *name, VkMsgClientAction proc, void *client_data,
  29.               Boolean deleteMessage = True)
  30.     { client->addTranslation(name, proc, client_data, deleteMessage); }
  31.   void removeTranslation(char *name)
  32.     { client->removeTranslation(name); }
  33.  
  34.   VkMsgStatus registerPattern(VkMsgPattern p)
  35.     { return client->registerPattern(p); }
  36.   VkMsgStatus unregisterPattern(VkMsgPattern p)
  37.     { return client->unregisterPattern(p); }
  38.   VkMsgStatus destroyPattern(VkMsgPattern p)
  39.     { return client->destroyPattern(p); }
  40.  
  41. protected:
  42.   virtual Boolean messageCallback(VkMsgFacilityReason reason,
  43.                   VkMsgMessage msg_in,
  44.                   char *op, int argc, VkMsgArg *argv);
  45.  
  46.   static Boolean message_callback(VkMsgFacility *obj, void *client_data,
  47.                   VkMsgFacilityReason reason,
  48.                   VkMsgMessage msg_in,
  49.                   char *op, int argc, VkMsgArg *argv);
  50.  
  51.   VkMsgClient *client;
  52. };
  53.  
  54. #endif
  55.